package com.example.hellonotes;

import com.example.hellonotes.api.BoreWeiboApi;
import com.example.hellonotes.api.SimpleRequestListener;
import com.example.hellonotes.contants.AccessTokenKeeper;
import com.example.hellonotes.entity.User;
import com.example.hellonotes.utils.ImageOptionsHelp;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.sina.weibo.sdk.auth.Oauth2AccessToken;

import android.app.Application;
import android.content.Context;
import cn.bmob.v3.Bmob;

public class MyApplication extends Application{
	

	/**
	 *  用来存贮当前用户信息
	 */
	public User currentUser;
	private BoreWeiboApi weiboApi;
	private Oauth2AccessToken mAccessToken;

	@Override
	public void onCreate() {
		super.onCreate();
		loadUser();
		initImageLoader(this);
		
		 // 初始化 Bmob SDK
        // 使用时请将第二个参数Application ID替换成你在Bmob服务器端创建的Application ID
        Bmob.initialize(this, "185e788dbc32c3150d2f113e6b83450b");
	}
	
	
	// 初始化图片处理
		private void initImageLoader(Context context) {
		
			ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
					//设置图像加载线程的优先级
					.threadPriority(Thread.NORM_PRIORITY - 2)
					//在磁盘高速缓存中缓存的文件设置名称生成器
					.diskCacheFileNameGenerator(new Md5FileNameGenerator())
					//设置用于加载和显示图像的任务的队列处理类型
					.tasksProcessingOrder(QueueProcessingType.LIFO)
					//设置图像显示的默认显示图像选项(具体的选项封装在另一个类的方法中)
					.defaultDisplayImageOptions(ImageOptionsHelp.getImgOptions())
					.build(); 
			ImageLoader.getInstance().init(config);
		}
		
		
		private void loadUser(){
			
			mAccessToken = AccessTokenKeeper.readAccessToken(this);
			if (mAccessToken.isSessionValid()) {
				weiboApi = new BoreWeiboApi(this);
				weiboApi.usersShow(mAccessToken.getUid(), "", new SimpleRequestListener(this, null){

				@Override
				public void onComplete(String response) {
					// TODO 自动生成的方法存根
					super.onComplete(response);
					currentUser = new Gson().fromJson(response, User.class);
					System.out.println("微博用户： "+currentUser);
				}
				
			});
			} else {
				System.out.println("当前没有使用微博登录");
			}
		
		}
}
